package acceso.universidad;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import dto.EstadoAcademicoDTO;
import dto.EstadoAcademicoDetalladoDTO;

public class AdaptadorUniversidadUTN implements AdaptadorAccesoUniversidad {

	@Override
	public List<EstadoAcademicoDTO> getEstadoAcademico(
			String tipoDocumentoAlumno, Integer documentoAlumno) {
		List<EstadoAcademicoDTO> estadoAcademicoDTOs = new ArrayList<EstadoAcademicoDTO>();
		estadoAcademicoDTOs = getMockEstadoAcademicoDTOs();
		return estadoAcademicoDTOs;
	}

	@Override
	public List<EstadoAcademicoDetalladoDTO> getEstadoAcademicoDetallado(
			String legajo) {
		List<EstadoAcademicoDetalladoDTO> academicoDetalladoDTOs = new ArrayList<EstadoAcademicoDetalladoDTO>();
		academicoDetalladoDTOs = getMockEstadoAcademicoDetalladoDTOs();
		return academicoDetalladoDTOs;
	}
	private List<EstadoAcademicoDTO> getMockEstadoAcademicoDTOs(){
		List<EstadoAcademicoDTO> academicoDTOs = new ArrayList<EstadoAcademicoDTO>();
		Integer legajo = 25008;
		for(int i=0 ; i<3 ; i ++){
			EstadoAcademicoDTO academicoDTO = new EstadoAcademicoDTO();
			String codigoCarrera = Integer.toString(i+1);
			Calendar cal = Calendar.getInstance();
			cal.add(Calendar.YEAR, -5);
			Date fechaIngreso = cal.getTime();
			academicoDTO.setCodigoCarrera(codigoCarrera);
			academicoDTO.setEstadoAcademico("REGULAR");
			academicoDTO.setFechaBaja(null);
			academicoDTO.setFechaIngreso(fechaIngreso);
			academicoDTO.setLegajo(legajo+i);
			academicoDTO.setNombrePlanDeEstudio("Plan numero "+i);
			academicoDTOs.add(academicoDTO);
		}
		return academicoDTOs;
	}
	private List<EstadoAcademicoDetalladoDTO> getMockEstadoAcademicoDetalladoDTOs(){
		List<EstadoAcademicoDetalladoDTO> academicoDTOs = new ArrayList<EstadoAcademicoDetalladoDTO>();
		for(int i=0 ; i<3 ; i ++){
			EstadoAcademicoDetalladoDTO academicoDTO = new EstadoAcademicoDetalladoDTO();
			academicoDTO.setCodigoMateria(i+1);
			academicoDTO.setEstadoMateria("REGULAR");
			academicoDTO.setNotaFinal(null);
			academicoDTOs.add(academicoDTO);
		}
		return academicoDTOs;
	}
}
